package cl.jsoftlabs.gwt.soccer.client.ui.pais;

import cl.jsoftlabs.gwt.soccer.client.AppConstantes;

import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.core.Template;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.ListView;

import com.extjs.gxt.ui.client.widget.form.ListField;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.user.client.Element;

public class PaisListField extends LayoutContainer {
	
	public static final String ITEM_ID = "list-paises";
	
	ListField<ModelData> cpoListaPaises;
	ListStore<ModelData> storePaises;
	
	ListView<ModelData> viwListaPaises;
	
	Template template = new Template("{nombrePais} {codTres}.");

	public PaisListField() {
		setLayout(new FitLayout());
		setItemId(ITEM_ID);
	}

	@Override
	protected void onRender(Element parent, int index) {
		super.onRender(parent, index);
		
		HorizontalPanel contenedor = new HorizontalPanel();
		contenedor.setLayout(new FitLayout());
		storePaises = Registry.get(AppConstantes.PAIS_STORE_LIST);
		inicializaCampo();
		inicializaVista();
		contenedor.add(cpoListaPaises);
		contenedor.add(viwListaPaises);
		add(contenedor);
	}
	
	private void inicializaVista() {
		viwListaPaises = new ListView<ModelData>();
		
		//viwListaPaises.setDisplayProperty("nombrePais");
		viwListaPaises.setTemplate(getTemplate());
		
		viwListaPaises.setStore(storePaises);
	}

	public void inicializaCampo(){
		cpoListaPaises = new ListField<ModelData>();
		cpoListaPaises.setStore(storePaises);
		//cpoListaPaises.setDisplayField("nombrePais");
		cpoListaPaises.setTemplate(getTemplate());
	}
	

	private String getTemplate() {
		StringBuilder sb = new StringBuilder();
		sb.append("<tpl for=\".\">");
		sb.append("<div class='x-combo-list-item'>");
		sb.append("<img src=\"img/blank.gif\" class=\"flag flag-{codDos}\" alt=\"{nombrePais}\" />");
		sb.append("<b>{nombrePais}</b> - {codTres} - {codDos}");
		sb.append("</div>");
		sb.append("</tpl>");
		return sb.toString();
	}

}
